#ifndef _Ape__EInvalidFormat_h
#define _Ape__EInvalidFormat_h

#include <Ape/Object.h>
#include <Ape/Exception.h>

#ifdef WITH_EXCEPTIONS

namespace Ape {
	/**
		This type of exception should be thrown when the input string format is incorrect
		@author Roman Gafiyatullin
	*/
	class EInvalidFormat
				: public Exception
	{
		TYPE_NAME ("Ape::EInvalidFormat")
		CLONEABLE (EInvalidFormat)
	public:
		/**
			initialize with empty message
		*/
		EInvalidFormat();
		/**
			initialize with message
			@param msg message
		*/
		EInvalidFormat (const wchar_t* msg);
		/**
			copy ctor
			@param other original object
		*/
		EInvalidFormat (const EInvalidFormat& other);
		/**
			dtor
		*/
		virtual ~EInvalidFormat();
		
		virtual void _Dump (bool verbose = false) const;
	};
}

#endif // WITH_EXCEPTIONS

#endif // _Ape__EInvalidFormat_h
